Editoija | Päivämäärä | Versio | Muutokset |
Anssi Keskinen | 22.10.2000 | 0.1 | Ensimmäinen versio |
Tero Kilkanen | 28.10.2000 | 0.2 | Korjauksia, täydennyksiä |
Anssi Keskinen | 28.10.2000 | 0.3 | Täydennyksiä |
Tero Kilkanen | 2.11.2000 | 0.4 | Korjauksia, täydennyksiä |
Tero Kilkanen | 5.11.2000 | 0.5 | Lisätty kappaleet 6 ja 7 sekä yhteenveto dokumentista |
Timo Ratilainen | 6.11.2000 | 1.0 | Katselmoinnin korjaukset |
Katselmoija(t) | Päivämäärä | Versio | Hyväksyjä |
Timo Ratilainen, Miiku Jaakkola, Tero Kilkanen, Jukka Hynninen, Anssi Keskinen, Jaakko Tuomimäki | 6.11.2000 | 1.0 | Timo Ratilainen |
Tiivistelmä
EAT on Engineering Data Management System (EDMS)-järjestelmän ylläpitäjän työkalu, joka suunnitellaan ja toteutetaan Teknillisen korkeakoulun Ohjelmatyö -kurssilla. Tämä dokumentti määrittelee EAT:n toiminnot, kuvaa sen ulkoiset liittymät, sen tietomallit ja ei-toiminnalliset ominaisuudet.
EATin toimintoja ovat uusien oliotyyppien luonti, olemassa olevien oliotyyppien muuttaminen sekä poistaminen. Oliotyyppien attribuutteja voidaan lisätä, poistaa ja muokata. Attribuuttien arvolistoja voidaan luoda uusia, muokata vanhoja, sekä poistaa. Dokumentin tilakaavioita voidaan lisätä, muokata ja poistaa. Dokumenteille voidaan tehdä varausvälejä. Lisäksi EAT mahdollistaa käyttäjien lisäämisen ja poistamisen, Monitor-toiminnallisuuden sekä protokollaviestien käsinkirjoituksen.
EATin ulkoiset liittymät ovat käyttöliittymä ja tietoliikenneliittymä. Käyttöliittymän avulla ylläpitäjä tekee haluamiansa toimenpiteitä EDMS-palvelimelle. Tietoliikenneliittymän avulla välitetään EATin muodostamat protokollaviestit palvelimelle, ja luetaan palvelimen vastaukset viesteihin.
Sisällysluettelo
1. Johdanto
1.1 Tarkoitus ja kattavuus
1.2 Tuote
1.3 Määritelmät, termit ja lyhenteet
1.4 Yleiskatsaus dokumenttiin
2. Yleiskuvaus
2.1 Ympäristö
2.2 Toiminta
2.3 Käyttäjät
2.4 Yleiset rajoitteet
2.5 Oletukset ja riippuvuudet
3. Tiedot ja tietokanta
3.1 Tietosisältö
3.1.1 Olioluokat
3.1.1.1 Dokumentti
3.1.1.2 Dokumenttiversio
3.1.1.3 Alidokumentti
3.1.1.4 Alidokumenttiversio
3.1.1.5 Esitys
3.1.1.6 Käyttäjä
3.1.1.7 Projekti
3.1.2 Oliotyyppi
3.1.3 Attribuutit
3.2 Käyttöintensiteetti
3.3 Kapasiteettivaatimukset
4. Toiminnot
4.1 Yleistä
4.2 Järjestelmän toiminnot
4.2.1 MUST-toiminnot
4.2.1.1 Oliotyyppien lisääminen ja poistaminen
4.2.1.2 Arvolistojen käsittely
4.2.1.3 Oliotyypin attribuuttien käsittely
4.2.2 USEFUL-toiminnot
4.2.2.1 Tilakaavioiden käsittely
4.2.2.2 Dokumenttien varausvälin käsittely
4.2.3 NICE TO HAVE -toiminnot
4.2.3.1 Varoitus kahdesta yhtäaikaisesta ylläpitäjästä
4.2.3.2 Käyttäjien lisääminen ja poistaminen
4.2.3.3 Monitor-toiminnallisuus
4.2.3.4 Protokollaviestien käsinkirjoitus
4.2.3.5 Undo-toiminto
5. Ulkoiset liittymät
5.1 Käyttöliittymä
5.2 Tietoliikenneliittymä
6. Muut ominaisuudet
6.1 Suorituskyky ja vasteajat
6.2 Käytettävyys
6.3 Toipuminen
6.4 Turvallisuus
6.5 Ylläpidettävyys
6.6 Siirrettävyys/kannettavuus, yhteensopivuus
7. Suunnittelurajoitteet
7.1 Standardit
7.2 Laitteistorajoitteet
7.3 Ohjelmistorajoitteet
7.4 Muut rajoitteet
8. Jatkokehitysajatuksia
Lähdeluettelo
Tämä dokumentti kuvaa EDMS-järjestelmän ylläpitäjän työkalun toiminnan. Tämä dokumentti kattaa EAT-työkalun toiminnallisuuden lukuunottamatta käyttöliittymää, joka on kuvattu erillisessä dokumentissa[5].
Rakennettava tuote on EDMS-järjestelmän graafinen ylläpitäjän työkalu EAT (EDMS Administrator's Tool), jonka tarkoitus on helpottaa järjestelmän ylläpitoa. Nykyisellään ylläpito tapahtuu syöttämällä järjestelmän omia protokollakäskyjä komentoriviltä palvelimelle.
Asiakas | Tarjoaa projektiryhmälle ongelman, johon toivoo ratkaisua. Tässä tapauksessa kyseessä on järjestelmä (koodi ja dokumentaatio). Ottaa vastaan projektin lopputuotteen. |
EDMS | Engineering Data Management System, eli PDMG-ryhmän toteuttama tuotetiedon hallintajärjestelmä. |
PDMG | Product Data Management Group on TAI-tutkimuslaitoksessa toimiva tuotetiedon hallintaa tutkiva ryhmä. |
TAI-tutkimuslaitos | On Teknillisen Korkeakoulun erillinen tutkimusyksikkö. |
PDM -ryhmä | On projektiryhmän nimi ohjelmatyökurssilla. |
EAT -työkalu | Joustava ylläpitäjän Työkalu, on projektin lopputuloksena saatavan ohjelmiston (+dokumentaatio) nimi. |
Koodaus | Tässä dokumentissa synonyymi ohjelmoimiselle, lähinnä ammattikieltä. |
Java | Java on Sun Microsystems Inc.:n kehittämä olio-pohjainen ohjelmointikieli. Java käyttää virtuaalikonetta, mikä tekee sen laiteriippumattomaksi. Javalla voidaan tehdä joko sovellusohjelmia tai appletteja, jotka upotetaan HTML -tiedostoon. |
JavaDoc | JDK:hon kuuluva työkalu, jolla voidaan tehdä HTML-dokumentaatioita suoraan java-koodista käyttämällä tiettyjä merkintöjä (tag) kommenteissa. |
AWT | Abstract Window Toolkit, Javan graafisen käyttöliittymän rakentamiseen tarvittavat työkalut. |
Swing | AWT:n päälle tehty Javan perusluokkiin kuuluva komponentti. Swing-paketista löytyy erilaiset luokat käyttöliitymän rakentamiseen. |
JRE | Java Runtime Environment eli Java-virtuaalikone käännetyn Java-koodin ajamiseen. |
JDK | Java Development Kit, paketti, johon kuuluu Java-ohjelmointia tukeva API ja perustyökalut. |
API | Application Program Interface eli sovellusohjelmointirajapinta määrittelee liitynnät, joilla ohjelmoija pystyy käyttämään erillistä ohjelmakomponenttia omassa ohjelmassaan. |
SSL | Secure Socket Layer, alun perin Netscapen kehittämä menetelmä turvallisten TCP-yhteyksien luomiseksi TCP/IP-protokollan yli. SSL-yhteydessä avataan ensin tavallinen TCP-yhteys, suoritetaan sen yli salausavainten vaihto, ja tämän jälkeen kaikki yhteyden yli menevä tieto salataan avaintenvaihdossa sovitulla avaimella ja salausmenetelmällä. |
TCP/IP | Transmission Control Protocol / Internet Protocol. Internetissä käytettävä protokollapino, jossa IP on verkkokerrosprotokolla ja TCP kuljetuskerroksen protokolla. TCP:n avulla saadaan kahden Internetissä olevan koneen välille läpinäkyvä kaksisuuntainen bittiputki. |
socket | Socket on ohjelmointirajapinta TCP-yhteyksien käyttämistä varten käytännössä kaikissa ympäristöissä. Unixeissa ja Javassa käytetään pelkästään termiä Socket, Windowsissa vastaava rajapinta on nimeltään WinSock. |
Luke | Jedi-ohjelmiston toinen osa, joka sisältää varsinaisen käyttöliittymäkoodin. Luke kutsuu Obiwania aina kun se haluaa lukea tai muokata EDMS-tietokannassa olevia tietoja. |
Pinja | Pinja on Obiwanin korvaaja. Pinja tukee useampaa EDMS-käyttäjää samassa prosessissa, kun taas Obiwania voi käyttää vain yksi käyttäjä kerralla. Mahdollistaa Servlet -tekniikan käytön. |
UML | Unified Modeling Language eli notaatio määrittelylle, rakentämiselle, dokumentaatiolle ja visualisoinnille ohjelmistotuotannossa. |
Jedi | Tavallisen käyttäjän EDMS-järjestelmän graafinen Javalla ohjelmoitu käyttöliittymä. |
EDMSv2 | EDMS-järjestelmän kehityksen tuloksena syntyvä EDMS versio 2. PDMG-ryhmä suunnittelee kyseistä järjestelmää rinnakkain EAT-projektin kanssa. |
Kappale 1 esittelee tämän dokumentin sekä dokumentissa käytettävät määritelmät ja termit.
Kappale 2 esittelee tuotteen ympäristön, tuotteen toiminnan ja käyttäjät.
Kappale 3 kuvaa tuotteen tietomallit.
Kappale 4 kuvaa toiminnot, jotka tuotteeseen toteutetaan.
Kappale 5 kuvaa tuotteen ulkoiset liittymät.
Kappale 6 kuvaa tuotteen ei-toiminalliset ominaisuudet.
Kappale 7 esittelee tuotteen suunnittelurajoitteet.
Kappale 8 sisältää ajatuksia tuotteen jatkokehityksestä.
Rakennettava tuote on osa EDMS-järjestelmää, jonka arkkitehtuuri on esitetty alla olevassa kuvassa. Järjestelmässä on palvelin, johon voi kytkeytyä useita asiakkaita. Asiakkaat voivat olla joko tavallisia käyttäjiä tai ylläpitäjiä, kaikki kommunikoivat palvelimen kanssa järjestelmän omaa protokollaa käyttäen.
EDMS-järjestelmä
Rakennettava tuote tehdään Java-kielellä, ja ohjelman toimintaympäristönä on Java-virtuaalikone. Koska EAT-työkalulla käytetään IP-verkossa sijaitsevaa palvelinta, täytyy työasemassa, jossa ohjelmaa käytetään, olla verkkoyhteys.
EAT-työkalun toiminnot ovat EDMS-järjestelmän ylläpitäjän toimintoja. Näitä ovat:
Käyttäjät ovat EDMS-järjestelmän ylläpitäjiä. Ylläpitoa tullaan tekemään PC-koneissa Windows-ympäristössä. Käyttäjien on tunnettava EDMS-järjestelmä ja siinä esiintyvät käsitteet kohtuullisen hyvin, jotta he osaavat tehdä ylläpitotoimintoja.
EATin suunnittelussa pitää huomioida myös ei-toiminnallisia asioita, näitä ovat ohjelman käytettävyys, toipuminen virhetilanteista, turvallisuus, ylläpidettävyys sekä siirrettävyys.
EATin suunnittelussa noudatetaan Sunin Java-koodin kommentointi- ja tyylimäärityksiä. Lisää tyylirajoituksista projektisuunnitelmassa[2].
Projektin aikana oletetaan, että järjestelmän käyttämä protokolla pysyy muttumattomana niiden viestien osalta, jotka on määritelty EDMS administrator's guidessa[4].
EAT tarvitsee JRE:n version 1.2.
EATin tulisi olla Java-kielisenä ohjelmistona käyttöjärjestelmäriippumaton, mutta se kehitetään ja testataan Windows-ympäristössä, joten käytännössä ohjelmistoon saattaa jäädä jotain riippuvuuksia Windows-käyttöjärjestelmästä.
Dokumentit, dokumenttityypit, attribuuttilistat. Dokumentti kuuluu johonkin dokumenttityyppiin. Dokumentilla on attribuutteja.
Olioluokat
Jokaisella oliolla on myös olioluokan sisällä oliotyyppi (object type). Esimerkiksi dokumentti-luokkaan kuuluvan olion tyyppi voi olla piirustus tai tekstitiedosto.
Dokumentti on luokka, joka kuvaa tietokantaan tallennettavaa dokumenttia. Dokumentti voi olla esimerkiksi mikä tahansa tiedosto, vaikkapa kuva tai kokouspöytäkirja. Dokumentilla on alidokumentteja, ja alidokumenteilla on alidokumenttiversioita. Jokaisella alidokumenttiversiolla on esityksiä (representation), jotka ovat varsinaisen tiedon tallentavia olioita.
Dokumenteilla on yksilöivät nimet. Dokumenttien nimeämissäännöt on kuvattu EDMS Architecture and Concepts[3] liitteessä B: Name Constraints.
Dokumenteilla on dokumenttiversioita. Jokainen versio on kuvaus dokumentista sellaisena kuin se on esiintynyt jossain historiansa vaiheessa. Käyttäjät luovat eksplisiittisesti dokumenttiversioita. Dokumentin muuttaminen ei siis automaattisesti tee uutta dokumenttiversiota.
Jokaisella dokumenttiversiolla voi olla isäversiona saman dokumentin toinen versio. Kaikki versiot, joilla on isäversio, ovat isäversion lapsiversioita. Kun lapsiversio luodaan, isäversion sisältö kopioidaan lapsiversioon. Lapsiversion sisältöä voidaan muuttaa siihen asti kunnes sitä käytetään uuden lapsiversion isänä.
Dokumentit koostuvat alidokumenteista. Esimerkiksi jos tekstidokumentti sisältää monta erillisellä piirustusohjelmalla tehtyä piirustusta, kaikki dokumentin osat yhdessä muodostavat dokumentin kokonaisuutena. Teksti sekä yksittäiset piirustukset ovat erillisiä alidokumentteja.
Jokaisella dokumentilla on yksi tai useampia alidokumentteja. Siten myös vain yhdestä osasta koostuvalla dokumentilla on oltava yksi alidokumentti. Dokumentille pitää luoda ainakin yksi alidokumentti ennen kuin dokumenttiin voidaan tallentaa tietoa.
Jokainen dokumentti koostuu toisaalta alidokumenteista ja toisaalta sillä on joukko dokumenttiversioita. Jokaisella alidokumentilla on siten alidokumenttiversioita. Jokainen dokumenttiversio voi sisältää yhden version jokaisesta dokumentin alidokumentista.
Kun dokumenttiversiolle luodaan lapsidokumenttiversio, ja isän sisältö kopioidaan lapseen, asetetaan lapsi itse asiassa sisältämään samat alidokumenttiversiot kuin isänsä. Yhtään alidokumenttiversiota ei siis luoda tai kopioida kun dokumenttiversio luodaan. Ainoastaan käyttäjän muokatessa tiettyä alidokumenttia ensimmäistä kertaa lapsidokumenttiversiossa luodaan uusi alidokumenttiversio, joka tulee sisältymään lapsidokumenttiversioon. Useat dokumentin versiot voivat sisältää saman alidokumenttiversion.
Järjestelmään tallennettavat dokumentit, joita sovellusohjelmat pystyvät käyttämään, tallennetaan alidokumenttiversioiden esityksiin (representation). Alidokumenttiversiolla on yksi pääesitys (primary representation) ja mahdollisesti useampia toissijaisia esityksiä (secondary representations).
Käyttäjät saavat suoraan editoida ainoastaan pääesitystä. Toissijaiset esitykset generoidaan pääesityksestä.
Käyttäjäinformaatiota tallennetaan järjestelmään käyttäjäolioina. Yksilöivän käyttäjänimen lisäksi jokaisella käyttäjällä on mahdollisesti myös yksilöivä login-nimi. Jotta käyttäjä voi käyttää järjestelmää, on käyttäjän login-nimi oltava järjestelmän tietokannassa. Jokaisella oliolla on attribuuttina olion luoneen henkilön nimi.
Järjestelmä sisältää projektiolioita. Projekteilla on attribuutteja ja niihin voidaan kohdistaa vain standardioperaatioita kuten uuden projektin luonti tai attribuuttiarvojen muuttaminen.
Paitsi että jokainen oliotyyppi kuuluu tiettyyn olioluokkaan, jokaisella järjestelmään tallennettavalla oliolla on myös oliotyyppi (object type). Oliotyyppi määrittelee mitkä attribuutit oliolle kuuluvat. Oliotyypillä on otsikko ja yksilöivä nimi.
Dokumentin tyyppi määrää myös sen dokumenttiversioiden, alidokumenttien ja alidokumenttiversioiden tyypit. Kuitenkaan alidokumenttiversion tyyppi ei määrää esityksiensä tyyppiä, vaan jokaisen esityksen tyyppi tallennetaan erikseen.
Oliotyyppien tyyppinimiä on tällä hetkellä neljä itsenäistä joukkoa: dokumenttityyppien nimet, esitystyyppien nimet, käyttäjätyyppien nimet ja projektityyppien nimet. Jokaista dokumenttityyppiä kohti on myös olemassa samannimiset dokumenttiversio-, alidokumentti- ja alidokumenttiversiotyypit.
Jokaisella oliolla voi olla kolmenlaisia attribuutteja:
Kaikilla olioilla, jotka kuuluvat samaan olioluokkaan, on samat järjestelmäattribuutit. Tyypillinen järjestelmäattribuutti on dokumentin nimi. Järjestelmäattribuutit eivät ole käyttäjän suoraan muokattavissa.
Kaikilla olioilla, jotka ovat samassa tietokannassa ja kuuluvat samaan olioluokkaan on samat yhteiset attribuutit. Yhteiset attribuutit ovat käyttäjän määriteltävissä.
Kaikilla olioilla, joilla on sama oliotyyppi on samat tyyppikohtaiset attribuutit. Tyyppikohtaiset attribuutit ovat käyttäjän määriteltävissä.
Jokaisella attribuutilla on otsikko ja yksilöivä nimi. Käyttäjä näkee vain otsikon, ja järjestelmä käyttää sisäisesti attribuutin nimeä. Attribuutilla on aina jokin tyyppi. Tyyppi voi olla esimerkiksi päivämäärä tai projektin nimi. Toisinaan taas attribuutin arvo täytyy valita annetusta arvolistasta.
Oliolla voi olla erilaisia tiloja elinkaarensa aikana. Olion mahdolliset tilat ja sallitut siirtymät tilojen välillä määritellään olioon liitetyllä tilakaaviolla. Esimerkiksi dokumentilla voi olla tilat luonnos, valmis ja hyväksytty.
Jokaiselle oliotyypille voidaan määritellä oletustilakaavio, joka liitetään automaattisesti luontihetkellä olioon. Tilakaavion ensimmäinen tila on alkutila. Aina kun olioon liitetään uusi tilakaavio, olion tilaksi tulee uuden tilakaavion alkutila.
Voidaan olettaa, että ylläpitotoimintoja tehdään suhteellisen harvoin, jolloin työkalun käyttöintensiteetti jää pieneksi.
EAT-työkalu itsessään ei varastoi mitään tietoa, joten pelkästään työkalun suoritettava ohjelmakoodi vie tilaa.
Kaikki toiminnot, joita EATiin toteutetaan, lähettävät palvelimelle EDMS Admininistrator's Guidessa[4] määritellyn protokollan mukaisia palvelupyyntöjä.
Toiminnot on priorisoitu kolmeen luokkaan, MUST, USEFUL ja NICE TO HAVE. Toimintojen prioriteetit on määritelty vaatimusmäärittelyssä[1]. MUST -prioriteetilla olevat ominaisuudet toteutetaan projektin aikana, USEFUL ja NICE TO HAVE -ominaisuuksista voidaan karsia, mikäli projektiin varattu aika ei riitä niiden toteuttamiseen.
Toimintokokonaisuuksien otsikoissa on viittaus EDMS Administrator's Guiden[4] kappaleeseen, jossa kyseinen toiminto on selostettu.
Kunkin toiminnon kohdalla kerrotaan EDMS-palvelimen protokollakäsky, jolla kyseinen toiminto toteutetaan.
create-document-type Luo uuden dokumenttityypin ja vastaavan dokumenttiversiotyypin, alidokumenttityypin ja alidokumenttiversiotyypin. Dokumentin luonnin yhteydessä annetaan neljä attribuuttilistaa, jotka määräävät dokumenttityypin, dokumenttiversiotyypin, alidokumenttityypin ja alidokumenttiversiotyypin attribuutit.
create-representation-type Luo uuden esitystyypin dokumentille.
create-user-type Luo uuden käyttäjätyypin.
delete-object-type Poistaa minkä tahansa oliotyypin. Jos oliotyypin olioluokka on dokumentti, myös vastaavat dokumenttiversio-, alidokumentti- ja alidokumenttiversiot poistetaan.
Osa järjestelmän attribuuteista on sellaisia, että niiden arvo on valittava olemassa olevista arvolistoista, toisin sanoen arvo ei ole käyttäjän valittavissa. Näiden arvolistojen käsittely on ylläpitäjän tehtävä ja se toteutetaan EATiin. Arvolistojen käsittelyyn liittyvät operaatiot ovat seuraavat:
create-value-list Luo uuden arvolistan.
change-value-list-value-length Muuttaa arvolistan arvojen maksimipituutta.
delete-value-list Poistaa arvolistan.
add-to-value-list Lisää uuden arvon arvolistaan.
remove-from-value-list Poistaa arvon arvolistasta.
change-value-list-description Muuttaa arvolistan kuvausta.
deactivate-in-value-list Merkitsee arvon näkymättömäksi arvolistassa.
activate-in-value-list Palauttaa arvon näkyväksi arvolistassa.
Oliotyyppiin liitettyjen attribuuttien lisääminen ja poistaminen ja olemassa olevien attribuuttien ominaisuuksien muuttaminen. Attribuutti voidaan lisätä joko nimetyn attribuutin eteen, taakse tai oliotyypin attribuuttilistan alkuun tai loppuun.
Ominaisuudet, joita attribuutilta voidaan vaihtaa ovat attribuutin nimi, otsikko, kuvaus, näyttömerkkien määrä ja näyttötarkkuus. Näiden lisäksi attribuutille voidaan tehdä indeksi tietokantaan, joka nopeuttaa tietokantahakuja kyseisen attribuutin osalta. Indeksi voidaan myös poistaa.
Attribuuttien käsittelyssä käytetään seuraavia käskyjä:
add-attribute Lisää uuden attribuutin oliotyyppiin tai yleisen attribuutin olioluokkaan.
delete-attribute Poistaa attribuutin oliotyypistä tai yleisen attribuutin olioluokasta.
change-attribute-position Muuttaa attribuutin sijaintia attribuuttilistassa.
change-attribute-title Muuttaa attribuutin otsikkoa.
change-attribute-description Muuttaa attribuutin selitystä.
change-attribute-display-precision Muuttaa attribuutin esitystarkkuutta.
create-attribute-index Luo attribuutti-indeksin, joka nopeuttaa attribuuttilistan käsittelyä.
delete-attribute-index Poistaa attribuutti-indeksin.
create-state-graph Luo uuden tilakaavion joka sisältää joukon tiloja ja tilasiirtymiä. Tilakaaviolle täytyy määritellä olioluokka, johon se voi kuulua. Kaikkien tilojen tilasiirtymälistassa tulee olla saavutettavissa alkutilasta.
delete-state-graph Poistaa tilakaavion. Tilakaavio ei saa poistettaessa liittyä mihinkään olioon eikä se saa olla määritelty oletustilakaavioksi millekään oliotyypille tai olioluokalle.
set-default-state-graph Asettaa oletustilakaavion.
unset-default-state-graph Poistaa oletustilakaavion asetuksen.
set-document-reservation-range Varaa dokumentille välin numeerisia dokumenttinimiä, joista voidaan myöhemmin varata peräkkäisiä dokumenttinimiä reserve-document komennolla.
Järjestelmään sisäänkirjoittauduttaessa tehdään tarkistus, että monta ylläpitäjää ei ole päivittämässä samaa tietokantaa. Mikäli ylläpitäjiä on useampi, annetaan käyttäjälle varoitus.
Mahdollistaa uusien käyttäjien lisäämisen järjestelmään ja käyttäjien poistamisen. Tämä ominaisuus ei ole ensisijainen, sillä toiminto voidaan suorittaa Jedilläkin.
Monitor-toiminnallisuus on ominaisuus, jonka avulla voidaan kytkeytyä EDMS-palvelimen monitor-porttiin ja saada tietoa palvelimen tilasta, muun muassa nähdä lista kaikista palvelimeen kytkeytyneistä asiakasohjelmista.
Toteutetaan osaksi sovellusta komentorivi-ikkuna, josta voidaan käsin syöttää protokollaviestejä.
Undo-toiminnon avulla käyttäjä voi perua viimeksi tekemänsä muutoksen.
Tässä kappaleessa kuvataan EAT:n ulkoiset liittymät, jotka ovat käyttöliittymä ja tietoliikenneliittymä EDMS-palvelimeen.
EATin käyttöliittymä on selostettu User Interface Specification[5] -dokumentissa.
Järjestelmä käyttää EDMS-palvelimeen tavallista TCP/IP tai suojattua SSL-yhteyttä. EDMS-palvelimen protokolla on määritelty EDMS Administrator's Guidessa[4].
Työkalun suorituskyvyn täytyy olla niin hyvä, ettei käytettävyys kärsi. Vasteaikojen täytyy siis olla tarpeeksi lyhyitä, ettei käyttäjä joudu odottamaan ohjelman vastetta liian pitkään.
Ohjelman pitää olla helppokäyttöinen järjestelmän peruskäsitteistön tuntevalle käyttäjälle. Ohjelman käyttöliittymä tehdään saman näköiseksi kuin Jedi, jotta oppimiskynnys ylläpitotyökalun käyttöön on mahdollisimman pieni.
Palvelin kommunikoi tietokannan kanssa, joten palvelin hoitaa virhetilanteista toipumisen. Jos palvelin kaatuu kesken toiminnon suorittamista, tai antaa virheellisen vastauksen, kerrotaan asiasta käyttäjälle.
Palvelimen ja asiakkaan välillä kulkeva tieto pyritään salaamaan käyttämällä SSL-yhteyttä. Käyttäjien tunnistus ja valtuutus tapahtuu EDMS-palvelimella.
Pyritään tekemään työkalu mahdollisimman yhteensopivaksi jo olemassa olevan ohjelmiston kanssa. Laajennetaan käyttäjän Jedi-ohjelman käyttämää Pinja-kirjastoa siten, että myös ylläpitäjän työkalu voi käyttää Pinjaa.
Käyttöliittymässä käytetään Jedin Luke-kirjaston komponentteja soveltuvin osin, ja pyritään tekemään EATin rakenteesta muutenkin samankaltainen kuin Jedistä. Tavoitteena on yhtenäinen ja ylläpidettävä käyttöliittymä.
Otetaan mahdollisuuksien mukaan huomioon, mutta tärkeintä on työkalun toimivuus Windows-järjestelmissä.
Ohjelmiston koodin kommentointi kirjoitetaan JavaDoc-standardin[6] mukaiseksi. Koodin kirjoituksessa tyylioppaana käytetään Sunin määrittelemää Java-koodin tyyliopasta[7].
EAT tarvitsee tietokoneen, jossa on asennettu Java Runtime Environment (JRE) versio 1.2. Lisäksi tietokoneessa tulee olla TCP/IP-verkkoyhteydet.
Projektiryhmälle on esitetty toivomus, että ohjelmisto olisi mahdollisimman hyvin yhteensopiva jo olemassa olevan järjestelmän kanssa. Tämä tarkoittaa käytännössä sitä, että Pinja-kirjastoa tullaan käyttämään muuttamatta sen olemassa olevaa toiminnallisuutta. Uusia ominaisuuksia ja luokkia Pinjaan on kuitenkin mahdollista tehdä.
Projektin asiakas on kehittämässä EDMS-järjestelmästä uutta versiota. Asiakas toivoo, että EATin kehityksessä varaudutaan kehitteillä olevan EDMS versio 2:n uusiin ominaisuuksiin, muun muassa arvolistojen elementtien monikielisyyteen.
EDMS-järjestelmän version 2 (EDMSv2) valmistumisen jälkeen EAT:n voi päivittää tukemaan täysin EDMSv2:n ominaisuuksia.
[1] EAT-projektin vaatimusmäärittely
[2] EAT-projektin projektisuunnitelma
{3] EDMS-järjestelmän Architecture and Concepts -dokumentti, EDMS Architecture and concepts
[4] EDMS-järjestelmän Administrator's Guide -dokumentti, EDMS administrator's guide
[5] EAT-projektin User interface specification
[6] JavaDoc-tyyliopas, http://java.sun.com/products/jdk/javadoc/writingdoccomments/index.html
[7] Java-koodin tyyliopas, http://java.sun.com/docs/codeconv/html/CodeConvTOC.doc.html